package br.com.siscov.control.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import br.com.siscov.control.form.MotoristaForm;
import br.com.siscov.model.funcionario.service.MotoristaService;
import br.com.siscov.model.vo.MotoristaVo;
import br.com.siscov.util.Constantes;

public class ExcluirMotoristaAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		ActionErrors errors = new ActionErrors();

		try {

			MotoristaForm motoristaForm = (MotoristaForm) form;

			
				MotoristaVo motoristaVo = MotoristaService.obterMotorista(new Integer(motoristaForm.getMatricula()));
				
				String matricula = motoristaVo.getMatricula().toString();
				String cartMotorista = motoristaVo.getCartMotorista().toString();
				if (motoristaForm.getMatricula().equals(matricula)||motoristaForm.getCartMotorista().equals(cartMotorista)) {
					MotoristaService.excluirMotorista(new Integer(motoristaForm.getMatricula()), new Integer(motoristaForm.getCartMotorista()));
					return mapping.findForward(Constantes.FORWARD_SUCESSO);
				}
				errors.add("errors", new ActionMessage("errors.sql.existente"));
				saveErrors(request, errors);
				return mapping.findForward(Constantes.FWD_ERRO);
			
		} catch (Exception e) {
			errors.add("errors", new ActionMessage("errors.sql.existente"));
			saveErrors(request, errors);
			return mapping.findForward(Constantes.FWD_ERRO);
		}
	}

}
